package cn.miju.ser.common.service.impl;

import cn.hutool.core.util.RandomUtil;
import cn.miju.ser.common.service.CommonService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;
import java.time.ZoneOffset;

/**
 * <pre>
 *
 * 文件名 :  CommonServiceImpl
 * 创建时间 : 2023年03月21日 15:21
 * 文件描述 : 无
 *
 * </pre>
 *
 * @author Huzb
 * @version 1.0.0
 */
@Slf4j
@Service
@RequiredArgsConstructor
public class CommonServiceImpl implements CommonService {


    /**
     * 获取平台支付订单号
     * <p>
     * 规则：MJP+时间戳(秒)+5位随机数
     *
     * @return 订单号
     */
    @Override
    public synchronized String getPlatTradeNo() {
        return "MJP" + LocalDateTime.now().toInstant(ZoneOffset.of("+8")).getEpochSecond() + RandomUtil.randomInt(10000, 100000);
    }

    /**
     * 获取平台退款订单号
     * <p>
     * 规则：MJR+时间戳(秒)+5位随机数
     *
     * @return 退款订单号
     */
    @Override
    public synchronized String getPlatRefundNo() {
        return "MJR" + LocalDateTime.now().toInstant(ZoneOffset.of("+8")).getEpochSecond() + RandomUtil.randomInt(10000, 100000);
    }
}
